/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package model;

import java.io.Serializable;

/**
 *
 * @author pais
 */
public abstract class  AnyObject implements Serializable{

    @Override
public abstract String toString();
/**
 * The toString method for class Object returns a string
 * consisting of the name of the class of which the object is an instance,
 * the at-sign character `@', and the unsigned hexadecimal representation
 * of the hash code of the object. In other words, this method returns a
 * string equal to the value of:
 *getClass().getName() + '@' + Integer.toHexString(hashCode())
 */

    @Override
public abstract boolean equals (Object obj);
/**
 * Indicates whether some other object is "equal to" this one.
 * The equals method for class Object implements the most
 * discriminating possible equivalence relation on objects;
 * that is, for any non-null reference values x and y, this
 * method returns true if and only if x and y refer to the
 * same object (x == y has the value true).
 * Note that it is generally necessary to override the hashCode
 * method whenever this method is overridden, so as to maintain
 * the general contract for the hashCode method, which states that
 * equal objects must have equal hash codes.
 */

    @Override
public abstract int hashCode();
/**
 * If two objects are equal according to the equals(Object) method,
 * then calling the hashCode method on each of the two objects must
 * produce the same integer result.
 * It is not required that if two objects are unequal according to
 * the equals(java.lang.Object) method, then calling the hashCode
 * method on each of the two objects must produce distinct integer
 * results. However, the programmer should be aware that producing
 * distinct integer results for unequal objects may improve the
 * performance of hashtables.
 */
}
